package com.adan.auditlog.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyBatisAuditLog {
	/**
	 * 日志模块 例如：报销单模块
	 *
	 * @return
	 */
	String value();

	/**
	 * 日志备注，支持EL表达式，动态获取当前入参实际值
	 *  例如：
	 *  	@MyBatisAuditLog(value = "修改运费", remarkField = "#updateFreightDTO.updateReason")
	 *  	public R update(UpdateFreightDTO updateFreightDTO) { ... }
	 *  	说明：UpdateFreightDTO实例包含updateReason属性
	 *
	 * @return
	 */
	String remarkField() default "";
}
